Conventional web browsers may have provided a sub-optimal experience for some enterprise applications with respect to how, when, and where content in toolbars and/or sidebars was displayed and/or arranged. Limitations associated with this type of management may have lead to issues with intelligent use of available display real estate. This real estate may have been better employed in displaying output associated with an enterprise application than with standard browser functionality. An enterprise application may include software hosted on an application server that provides services to users belonging to an enterprise. These users may have an enhanced enterprise application experience by interacting with specific browser chrome and/or specific enterprise application content in specific ways. However, a conventional web browser may have required applications, including enterprise applications, to deliver content and functionality in a browser window using only certain techniques (e.g., hypertext markup language (HTML)), and may also have controlled the nature, quantity, and location of available chrome. While providing an open, generic, global approach to content delivery and chrome management, this requirement may have limited the richness of possible interactions between web browsers and enterprise applications.
A web browser extension is a code package that can be installed into a browser and/or client device (e.g., computer) running a browser. The extension may add a new feature to a browser, extend an existing functionality, modify a visual theme, and so on. This browser may employ an extensible markup language (XML) user-interface language (XUL, pronounced zuul) to describe and support application user interfaces. XUL provides an overlay functionality that facilitates merging user interfaces from different sources into one user interface (UI). For example, UI from a browser and a browser extension(s) may be merged. Recall that a browser extension may provide additional functionality for a browser. This functionality may include, for example, additional UI features that facilitate customizing a browser UI.
The collective UI adornment for a browser (e.g., border, menus, frames, buttons, scrollbars) may be referred to as “browser chrome” or just “chrome”. A browser extension may interact with the browser chrome. A browser extension may include a XUL file(s), JavaScript, a style sheet(s), an image(s), and so on. This set of items may be loaded into a single package (e.g., Zip file). The package may be loaded into, unwrapped by, and installed on a client device associated with a browser. Once installed, package components may be operably connected to a browser and/or browser object(s) using the XUL overlay feature. Though added to a browser, browser extension code may remain separate and removable. An extension may reside in a browser and/or client device rather than being part of a web page transmitted by a web service (e.g., enterprise application) to the browser and/or client. Thus, conventional systems may employ functionality (e.g., XUL) to facilitate enhancing web browsers via web browser extensions.